package com.hmall.item.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hmall.common.dto.PageDTO;
import com.hmall.item.pojo.Item;

import java.util.List;

public interface IItemService extends IService<Item> {
    /**
     * 分页查询商品
     * @param page
     * @param size
     * @return
     */
    PageDTO<Item> list(Integer page, Integer size);

    /**
     * 根据id查询商品
     * @param id
     * @return
     */
    Item findById(Long id);

    /**
     * 新增商品
     * @param item
     */
    void addItem(Item item);

    /**
     * 商品上架(1)，下架(2)
     * @param id
     * @param status
     */
    void switStatu(Long id, Integer status);

    /**
     * 修改商品
     * @param item
     */
    void updateItem(Item item);

    /**
     * 根据id删除商品
     * @param id
     */
    void deleteById(Long id);

    /**
     * 获取记录总条数
     * @return
     */
    Integer getTotal();

    /**
     * 扣减库存接口
     * @param itemId
     * @param num
     */
    void subStockByItemId(Long itemId, Integer num);
}
